// pages/thing/thing.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    thingList: [], // 用于存储从服务器获取的Thing列表数据
    thingDetail: null, // 用于存储从服务器获取的单个Thing详情数据
    BASE_URL: 'http://127.0.0.1:9100',
    // currentPage: 'thing', // 当前显示的页面，初始为当前页面
    currentTab: 'thing',
    navigationTitle: '景区首页', // 初始导航栏标题
    isShowNavigationBar: true, // 控制标题栏的显示与隐藏
  },


  /**
   * 生命周期函数--监听页面加载
   */
  // onLoad(options) {  },
  onLoad: function () {
    this.restoreLoginStatus();
    // 设置导航栏标题
    wx.setNavigationBarTitle({
      title: '景区首页',
      success: function () {
        console.log('导航栏标题设置成功');
      },
      fail: function (err) {
        console.error('导航栏标题设置失败:', err);
      }
    });

    this.getThingList(); // 页面加载时调用获取Thing列表的方法
  },

  // 恢复登录状态的方法
  restoreLoginStatus: function () {
    const app = getApp();
    const userId = wx.getStorageSync('userId');
    const token = wx.getStorageSync('token');
    if (userId && token) {
      app.globalData.userId = userId;
      app.globalData.token = token;
    }
  },

  // 获取Thing列表数据的方法
  getThingList: function () {
    const {BASE_URL} = this.data;
    wx.request({
      url: `${BASE_URL}/api/thing/list`,
      method: 'GET',
      success: (res) => {
        if (res.data.code === 200) {
          const {
            BASE_URL
          } = this.data;
          const thingList = res.data.data.map(item => {
            // 拼接完整的图片URL
            item.cover = `${BASE_URL}/api/staticfiles/image/${item.cover}`;
            return item;
          });
          this.setData({
            thingList
          });
        } else {
          wx.showToast({
            title: '数据获取失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        wx.showToast({
          title: '请求失败',
          icon: 'none'
        });
      }
    });
  },
  // 确保 switchTab 方法正确定义
  // switchTab: function (e) {
  //   const tab = e.currentTarget.dataset.tab;
  //   let navigationTitle = '';
  //   if (tab === 'thing') {
  //     navigationTitle = '景区首页';
  //   } else if (tab === 'mine') {
  //     navigationTitle = '我的';
  //   }
  //   this.setData({
  //     currentTab: tab,
  //     navigationTitle: navigationTitle
  //   });
  // },
  switchTab: function (e) {
    const tab = e.currentTarget.dataset.tab;
    let navigationTitle = '';
    let isShowNavigationBar = true; // 默认显示标题栏
    switch (tab) {
      case 'thing':
        navigationTitle = '景区首页';
        break;
      case 'mine':
        navigationTitle = '我的';
        break;
      case 'deepseek':
        navigationTitle = 'Deepseek 旅游助手';
        isShowNavigationBar = false; // 点击 deepseek 时隐藏标题栏
        break;
    }
    this.setData({
      currentTab: tab,
      navigationTitle: navigationTitle,
      isShowNavigationBar: isShowNavigationBar
    });
  },

  
  // 切换页面的方法
  handleMenuItemClick: function (e) {
    const item = e.detail.item;
    switch (item) {
      case 'profile':
        wx.navigateTo({
          url: '/pages/profile/profile'
        });
        break;
      case 'settings':
        wx.navigateTo({
          url: '/pages/settings/settings'
        });
        break;
      case 'logout':
        wx.showModal({
          title: '提示',
          content: '确定要退出登录吗？',
          success: function (res) {
            if (res.confirm) {
              // 获取全局变量
              const app = getApp();
              // 清除全局的 userId 和 token
              app.globalData.userId = null;
              app.globalData.token = null;
              // 清除本地存储
              wx.clearStorageSync();
              // 跳转到登录页面
              wx.navigateTo({
                url: '/pages/login/login'
              });
            }
          }
        });
        break;
    }
  },
  navigateToDetail: function (event) {
    const item = event.currentTarget.dataset.item;
    wx.navigateTo({
      url: `/pages/thingDetail/thingDetail?item=${JSON.stringify(item)}`
      // url: `/pages/thingDetail/thingDetail`
    });
  },
  handleThingItemTap: function (event) {
    const item = event.detail.item;
    // const itemJson = JSON.stringify(item); // 将数据转换为 JSON 字符串
    wx.navigateTo({
      url: `/pages/thingDetail/thingDetail?id=${item.id}` // 假设 item 对象中有一个唯一的 id 属性
      // 或者，如果你需要在目标页面上访问整个 item 对象，可以使用：
      // url: `/pages/thingDetail/thingDetail?item=${encodeURIComponent(JSON.stringify(item))}`
      // 但请注意，直接在 URL 中传递对象可能不是最佳实践，特别是当对象很大时。
      // url: `/pages/thingDetail/thingDetail?id=${item.id}&item=${encodeURIComponent(itemJson)}`
    });
  },

  // 搜索框跳转事件
  navigateToSearch: function() {
    wx.navigateTo({
      url: '/pages/search/search'
    });
  },

  // 跳转到 deepseek 页面
  navigateToDeepseekPage: function () {
    wx.navigateTo({
      url: '/pages/deepseekTourAssistant/deepseekTourAssistant'
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    const app = getApp();
    const userId = wx.getStorageSync('userId');
    const token = wx.getStorageSync('token');
    if (userId && token) {
      app.globalData.userId = userId;
      app.globalData.token = token;
      console.log('页面显示时恢复登录状态');
    }
  },


  
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})